﻿using System;
using System.Collections.Generic;

namespace Reactor.Messaging.ServiceBus
{
    public interface IMessageRegistry
    {
        /// <summary>
        /// Registers the type of the message, recording each desination the message is to be sent when published.
        /// </summary>
        /// <param name="messageType">Type of the message.</param>
        /// <param name="destinations">The destinations.</param>
        void RegisterMessageType(Type messageType, IEnumerable<string> destinations);

        /// <summary>
        /// Gets the registered destinations for the specified message type.
        /// </summary>
        /// <param name="type">The type.</param>
        /// <returns></returns>
        IList<string> GetDestinationsForMessageType(Type type);
    }
}
